#if defined(TSINGMA_MX) || defined(TSINGMA_GX) || defined(ARCTIC)
/**
 @file sys_tmm_ipfix.h

 @date 2018-11-12

 @version v1.0

 The file contains tmm ipfix funcation
*/

#ifndef _SYS_TMM_IPFIX_H
#define _SYS_TMM_IPFIX_H
#ifdef __cplusplus
extern "C" {
#endif

/****************************************************************
 *
 * Header Files
 *
 ***************************************************************/
#include "sys_usw_ipfix.h"

/***************************************************************
 *
 *  Defines and Macros
 *
 ***************************************************************/
/***************************************************************
 *
 *  Functions
 *
 ***************************************************************/

extern int32
sys_tmm_ipfix_init_register(uint8 lchip, void* p_global_cfg);
extern int32
sys_tmm_ipfix_set_property(uint8 lchip, void* cfg);
extern int32
sys_tmm_ipfix_get_property(uint8 lchip, void* cfg);
extern int32
sys_tmm_ipfix_set_global_cfg(uint8 lchip, void* cfg);
extern int32
sys_tmm_ipfix_get_global_cfg(uint8 lchip, void* cfg);
extern int32
sys_tmm_ipfix_set_flow_cfg(uint8 lchip, void* p_flow_cfg);
extern int32
sys_tmm_ipfix_get_flow_cfg(uint8 lchip, void* p_flow_cfg);
extern int32
sys_tmm_ipfix_encode_ad(uint8 lchip, void* key);
extern int32
sys_tmm_ipfix_decode_ad(uint8 lchip, void* data, void* p_ad);
extern int32
sys_tmm_ipfix_decode_key(uint8 lchip, uint8 key_type, void* p_data, void* p_key);
extern int32
sys_tmm_ipfix_traverse_dma(uint8 lchip, void* fn, void* p_data, uint8 is_remove);
extern int32
sys_tmm_ipfix_sync_data(uint8 lchip, void* p_dma_info);
extern int32
sys_tmm_ipfix_set_bulk_timer_interval(uint8 lchip, uint32 ctc_bulk_interval);
extern int32
sys_tmm_ipfix_cb_init(uint8 lchip);
#ifdef __cplusplus
}
#endif

#endif

#endif
